package com.example.common.enums;

import lombok.Getter;

/**
 * 错误码枚举
 */
@Getter
public enum ErrorCodeEnum {

    // *******************HTTP 状态码*****************
    SUCCESS("200", "成功"),
    PARAM_ERROR("400", "参数异常"),
    TOKEN_INVALID_ERROR("401", "无效的token"),
    TOKEN_CHECK_ERROR("401", "token验证失败，请重新登录"),
    SYSTEM_ERROR("500", "系统异常"),
    // *******************通用*****************
    USER_EXIST_ERROR("5001", "用户名已存在"),
    USER_NOT_LOGIN("5002", "用户未登录"),
    USER_ACCOUNT_ERROR("5003", "账号错误"),
    USER_PASSWORD_ERROR("5004", "密码错误"),
    USER_NOT_EXIST_ERROR("5005", "用户不存在"),
    PARAM_OLD_PASSWORD_ERROR("5006", "原密码输入错误"),
    PARAM_LOST_ERROR("5007", "参数缺失"),
    PAGE_QUERY_NUM("5008", "页码非法"),
    PAGE_QUERY_SIZE("5009", "页大小非法"),
    USERNAME_LOST_ERROR("5010", "缺失用户名"),
    PASSWORD_LOST_ERROR("5011", "缺失密码"),
    ROLE_LOST_ERROR("5012", "缺失角色"),
    ROLE_REGISTER_ERROR("5013", "只能注册普通用户和宠物店"),
    ROLE_LOGIN_ERROR("5014", "只能登录普通用户、宠物店和管理员"),
    GET_CUR_USER_ERROR("5015", "无法获取当前登录的用户"),
    USER_NAME_IS_NOT_NULL("5016", "用户名不能为空"),
    NOT_DELETE_CURRENT_ADMIN("5017", "不能删除当前登录的管理员账号"),
    // *******************普通用户相关*****************
    USER_ER("5100", "普通用户相关"),
    // *******************商家相关*****************
    ONLY_PET_SHOP_SUBMIT("5200", "只有宠物店才可以提交认证材料"),
    PET_SHOP_NOT_EXIST("5201", "宠物店不存在"),
    ONLY_INIT_STATUS_SUBMIT("5202", "只有认证状态为待提交或审核拒绝，才可以提交"),
    ONLY_ADMIN_AUDIT("5203", "只有管理员才可以审核认证材料"),
    ONLY_SUBMIT_STATUS_AUDIT("5204", "只有认证状态为待审核，才可以审核"),
    // *******************管理相关*****************
    PET_TYPE_NAME_ERROR("5300", "宠物类型名称不能为空"),
    GOODS_TYPE_NAME_ERROR("5301", "宠物用品类型名称不能为空"),
    PET_SHOP_NAME_ERROR("5302", "宠物店名称不能为空"),
    PET_NAME_ERROR("5303", "宠物名称不能为空"),
    PET_SEX_ERROR("5304", "宠物性别不能为空"),
    PET_SHOP_LOST_ERROR("5305", "缺少宠物店"),
    PET_TYPE_LOST_ERROR("5306", "缺少宠物类型"),
    PET_STATUS_LOST_ERROR("5306", "缺少宠物出售状态"),
    PET_STORE_LOST_ERROR("5307", "缺少宠物库存数量"),
    GOODS_NAME_ERROR("5308", "宠物用品名称不能为空"),
    GOODS_STATUS_LOST_ERROR("5309", "缺少宠物用品出售状态"),
    GOODS_STORE_LOST_ERROR("5310", "缺少宠物用品库存数量"),
    ADDRESS_NAME_LOST_ERROR("5311", "缺少收货人姓名"),
    ADDRESS_LOST_ERROR("5312", "缺少收货地址"),
    ADDRESS_PHONE_LOST_ERROR("5313", "缺少收货人电话号"),
    USER_RECHARGE_AMOUNT_ERROR("5314", "充值的余额不能为零或负数"),
    ONLY_USER_PAY("5315", "只有普通用户才可以支付订单"),
    PET_STORE_IS_NULL_ERROR("5316", "当前宠物没有库存了"),
    USER_AMOUNT_NOT_ENOUGH_ERROR("5317", "用户余额不足"),
    ONLY_USER_CANCEL("5318", "只有普通用户才可以取消订单"),
    CANCEL_ONLY_PAY_BEFORE_ERROR("5319", "只有支付前才可以取消订单"),
    ONLY_SHOP_SEND("5320", "只有宠物店才可以发货"),
    ONLY_USER_SIGN("5321", "只有普通用户才可以签收"),
    ONLY_USER_CART("5322", "只有普通用户才可以操作"),
    CART_DATA_NOT_EXITS("5323", "此宠物用品不在购物车"),
    ONLY_USER_CREATE_ORDER("5324", "只有普通用户才可以下单"),
    GOODS_STORE_IS_NULL_ERROR("5325", "当前宠物用品库存不够"),
    POST_TITLE_LOSE("5326", "缺少帖子标题"),
    POST_CONTENT_LOSE("5327", "缺少帖子内容"),
    POST_IMAGE_LOSE("5328", "缺少帖子封面图片"),
    ONLY_USER_CREATE_POST("5329", "只有普通用户才可以发布帖子"),
    ONLY_ADMIN_AUDIT_POST("5330", "只有管理员才可以审核帖子"),
    ONLY_USER_OR_ADMIN_POST("5331", "只有普通用户或管理员才可以操作"),
    POST_NOT_EXITS("5332", "帖子不存在"),
    ONLY_QUERY_AUDIT_SUCCESS("5333", "只能查看审核通过的帖子"),
    COMMENT_NOT_EXITS("5334", "评论不存在"),
    ONLY_ROLE_DELETE_COMMENT("5335", "只有评论的发布人是当前用户或评论的帖子的发布人是当前用户才可以删除"),
    ONLY_ADMIN_COUNT("5336", "只有管理员才可以统计数据"),
    IMAGE_IS_NULL("5337", "请选择要上传的图片"),
    BAIDU_API_RESULT_ERROR("5338", "百度识别失败");

    private final String code;

    private final String msg;

    ErrorCodeEnum(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}
